//给你一个整数 n，请你判断该整数是否是 4 的幂次方。如果是，返回 true ；否则，返回 false 。
//如果存在一个整数 x 使得 n == 4x ，则认为 n 是 4 的幂次方。
#include <stdio.h>
#include <stdbool.h>

bool isPowerOfFour(int n) 
{
    // if(n == 4 || n==1)
    // return true;
    // else if(n==3 ||n==2 ||n < 1)
    // return false;
    // else if(n%4 ==0)
    // {
    //     return isPowerOfThree(n/4);
    // }
    // return false;

    //如果 n 是 4 的幂，那么 n 的二进制表示中有且仅有一个 1，并且这个 1 出现在从低位开始的第偶数个二进制位上
    return n > 0 && (n & (n - 1)) == 0 && (n & 0xaaaaaaaa) == 0;
}


int main()
{
    int n = 9;
    printf("%d\n",isPowerOfFour(n));
}